package com.ccys.cms.service.corporateAndInsurance;

import com.ccys.common.vo.ResponseResult;
import com.ccys.db.dto.corporateAndInsurance.EapBenefitAdjustmentDto;
import com.ccys.db.dto.corporateAndInsurance.EapBenefitDto;
import com.ccys.db.dto.corporateAndInsurance.EapBenefitServiceDto;
import com.ccys.db.dto.corporateAndInsurance.EapDto;
import com.ccys.db.entity.TblEap;
import com.ccys.db.rely.service.BaseService;
import com.ccys.db.vo.corporateAndInsurance.*;
import com.github.pagehelper.PageInfo;

import java.text.ParseException;
import java.util.List;

/**
 * @program: WhiteCoat
 * @description: EAP接口
 * @author: ZhangJingCan
 * @create: 2023-12-22 15:54
 **/
public interface EapService extends BaseService<TblEap> {
    ResponseResult saveEap(EapDto dto);

    ResponseResult<PageInfo<EapPageQueryVo>, Object> findPageEap(EapDto dto);

    ResponseResult updateEapStatus(EapDto dto);

    ResponseResult saveEapBenefit(EapBenefitDto dto) throws ParseException;

    ResponseResult updateEapBenefitStatus(EapBenefitDto dto);

    ResponseResult deleteEapBenefit(EapBenefitDto dto);

    ResponseResult<List<EapBenefitListVo>, Object> findListEapBenefit(EapBenefitDto dto);

    ResponseResult<EapBenefitDetailVo, Object> findEapBenefitDetail(EapBenefitDto dto);

    ResponseResult saveEapBenefitService(EapBenefitServiceDto dto);

    ResponseResult deleteEapBenefitService(EapBenefitServiceDto dto);

    ResponseResult<PageInfo<EapBenefitServicePageQueryVo>, Object> findPageEapBenefitService(EapBenefitServiceDto dto);

    ResponseResult<PageInfo<MemberPatientEmployeesPageQueryVo>, Object> findPageMemberPatientEmployees(EapDto dto);

    ResponseResult deleteEap(EapDto dto);

    ResponseResult addManualAdjustment(EapBenefitAdjustmentDto dto);

    ResponseResult<List<EapUsageLimitVo>, Object> findUsageLimit(EapDto dto);

    ResponseResult<List<EapUsageLimitDetailsVo>, Object> findUsageLimitDetails(EapDto dto);
}
